package com.icesoft.xsnow.codegen.api.bo;

import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.generator.config.po.TableInfo;
import lombok.Data;
import lombok.experimental.Accessors;

/**
 * @program: xsnow
 * @description: TableInfo 增强
 * @author: xuefeng.gao
 * @create: 2019-05-21 14:59
 **/
@Data
@Accessors(chain = true)
public class TablePlus  {
    /**
    * 表前缀
    **/
    private String prefix;
    /**
    * 表主体名, 去掉前缀 tb_user -> user
    **/
    private String shortname;
    /**
    * 首字母小写的entityName
    **/
    private String entityname;

    /**
    *  根据tableinfo 构建 tablePlus
    **/
    public static TablePlus build(TableInfo table){
        TablePlus tablePlus = new TablePlus();
        tablePlus.setPrefix(StrUtil.subBefore(table.getName(), StrUtil.UNDERLINE,false));
        tablePlus.setEntityname(table.getEntityPath());
        if(StrUtil.contains(table.getName(), '_')){
            tablePlus.setShortname(StrUtil.subAfter(table.getName(), StrUtil.UNDERLINE,false));
        }else{
            tablePlus.setShortname(table.getName());
        }
        return tablePlus;
    }


}
